[INFO] cloning repository https://github.com/gigiwotou/qiling
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gigiwotou/qiling" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgigiwotou%2Fqiling", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgigiwotou%2Fqiling'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 57abc663d337c4aa64f0edcc06aff750664bde67
[INFO] checking gigiwotou/qiling against master#40557f6225e337d68c8d4f086557ce54135f5dd9 for pr-158447
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgigiwotou%2Fqiling" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gigiwotou/qiling
[INFO] finished tweaking git repo https://github.com/gigiwotou/qiling
[INFO] tweaked toml for git repo https://github.com/gigiwotou/qiling written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gigiwotou/qiling on toolchain 40557f6225e337d68c8d4f086557ce54135f5dd9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40557f6225e337d68c8d4f086557ce54135f5dd9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gigiwotou/qiling already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+40557f6225e337d68c8d4f086557ce54135f5dd9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sqlx-postgres v0.7.2
[INFO] [stderr]   Downloaded sqlx-macros-core v0.7.2
[INFO] [stderr]   Downloaded sqlx-mysql v0.7.2
[INFO] [stderr]   Downloaded sqlx-sqlite v0.7.2
[INFO] [stderr]   Downloaded sqlx-macros v0.7.2
[INFO] [stderr]   Downloaded sqlx v0.7.2
[INFO] [stderr]   Downloaded sqlx-core v0.7.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0
[INFO] running `Command { std: "docker" "start" "457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0" "/opt/rustwide/cargo-home/bin/cargo" "+40557f6225e337d68c8d4f086557ce54135f5dd9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0" "/opt/rustwide/cargo-home/bin/cargo" "+40557f6225e337d68c8d4f086557ce54135f5dd9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking phf_shared v0.10.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]     Checking dtoa v1.0.11
[INFO] [stderr]     Checking sqlformat v0.2.6
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking dtoa-short v0.3.5
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking servo_arc v0.3.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking tokio v1.51.1
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling libsqlite3-sys v0.26.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]     Checking ego-tree v0.6.3
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking cssparser v0.31.2
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]     Checking xml5ever v0.17.0
[INFO] [stderr]     Checking sysinfo v0.29.11
[INFO] [stderr]     Checking markup5ever_rcdom v0.2.0
[INFO] [stderr]     Checking scraper v0.17.1
[INFO] [stderr]     Checking select v0.6.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling sqlx-core v0.7.2
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking sqlx-sqlite v0.7.2
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.2
[INFO] [stderr]    Compiling sqlx-macros v0.7.2
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking sqlx v0.7.2
[INFO] [stderr]     Checking pc_assistant_core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/core/service.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, warn};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task`
[INFO] [stdout]   --> src/core/service.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::task;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/voice/mod.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]  --> src/voice/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::time;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/task/mod.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/task/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/utils/mod.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{info, warn, error};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/memory/persistent_memory.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{info, warn};
[INFO] [stdout]   |           ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/memory/mod.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/memory/mod.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/harness/mod.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/harness/mod.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{DateTime, Utc, Timelike};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/skill/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/core/service.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, warn};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task`
[INFO] [stdout]   --> src/core/service.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::task;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/voice/mod.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]  --> src/voice/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::time;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/task/mod.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/task/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/utils/mod.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{info, warn, error};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/memory/persistent_memory.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::{info, warn};
[INFO] [stdout]   |           ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/memory/mod.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/memory/mod.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/harness/mod.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/harness/mod.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{DateTime, Utc, Timelike};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/skill/mod.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, warn};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]    --> src/task/mod.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |             while let _ = interval.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]    --> src/task/mod.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |             while let _ = interval.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/dream/mod.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |             while let _ = interval.tick().await {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]    --> src/harness/mod.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |             while let _ = interval.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/dream/mod.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |             while let _ = interval.tick().await {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]    --> src/harness/mod.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |             while let _ = interval.tick().await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]     = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProcessExt`
[INFO] [stdout]  --> src/tool/mod.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sysinfo::{System, SystemExt, ProcessExt, CpuExt};
[INFO] [stdout]   |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/tool/mod.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn execute_tool(config: &ToolConfig, system: &mut System, command: String) -> Result<String, Box<dyn std::error::Error + Send ...
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]    --> src/memory/persistent_memory.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |                         let category = entry.file_name().to_string_lossy().to_string();
[INFO] [stdout]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requested_level`
[INFO] [stdout]    --> src/permission/mod.rs:153:54
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn check_tool_permission(&self, tool_name: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requested_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requested_level`
[INFO] [stdout]    --> src/permission/mod.rs:164:62
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn check_system_command_permission(&self, command: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requested_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProcessExt`
[INFO] [stdout]  --> src/tool/mod.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sysinfo::{System, SystemExt, ProcessExt, CpuExt};
[INFO] [stdout]   |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/harness/mod.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let config = self.config.clone();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comm_manager`
[INFO] [stdout]    --> src/harness/mod.rs:253:65
[INFO] [stdout]     |
[INFO] [stdout] 253 |     async fn check_time_triggers(workflows: &mut Vec<Workflow>, comm_manager: &CommManager) {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comm_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cron_expression`
[INFO] [stdout]    --> src/harness/mod.rs:258:53
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 if let WorkflowTrigger::TimeBased { cron_expression } = trigger {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^ help: try ignoring the field: `cron_expression: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> src/harness/mod.rs:189:49
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 WorkflowAction::BrowserAction { action, url } => {
[INFO] [stdout]     |                                                 ^^^^^^ help: try ignoring the field: `action: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> src/harness/mod.rs:196:46
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 WorkflowAction::TaskAction { action, task_id } => {
[INFO] [stdout]     |                                              ^^^^^^ help: try ignoring the field: `action: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_id`
[INFO] [stdout]    --> src/harness/mod.rs:196:54
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 WorkflowAction::TaskAction { action, task_id } => {
[INFO] [stdout]     |                                                      ^^^^^^^ help: try ignoring the field: `task_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> src/harness/mod.rs:200:48
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 WorkflowAction::MemoryAction { action, category, key } => {
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `action: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]    --> src/harness/mod.rs:200:56
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 WorkflowAction::MemoryAction { action, category, key } => {
[INFO] [stdout]     |                                                        ^^^^^^^^ help: try ignoring the field: `category: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/harness/mod.rs:200:66
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 WorkflowAction::MemoryAction { action, category, key } => {
[INFO] [stdout]     |                                                                  ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> src/harness/mod.rs:204:47
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 WorkflowAction::Conditional { condition, true_steps, false_steps } => {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `true_steps`
[INFO] [stdout]    --> src/harness/mod.rs:204:58
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 WorkflowAction::Conditional { condition, true_steps, false_steps } => {
[INFO] [stdout]     |                                                          ^^^^^^^^^^ help: try ignoring the field: `true_steps: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_steps`
[INFO] [stdout]    --> src/harness/mod.rs:204:70
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 WorkflowAction::Conditional { condition, true_steps, false_steps } => {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^ help: try ignoring the field: `false_steps: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/skill/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn from(config: &Config) -> Self {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `comm_manager`, and `shutdown_tx` are never read
[INFO] [stdout]   --> src/core/service.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct CoreService {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 17 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     comm_manager: CommManager,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     shutdown_rx: mpsc::Receiver<()>,
[INFO] [stdout] 29 |     shutdown_tx: mpsc::Sender<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_command` is never used
[INFO] [stdout]    --> src/core/service.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl CoreService {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub async fn send_command(&self, command: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `low_memory_mode` and `system` are never read
[INFO] [stdout]  --> src/core/memory.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MemoryOptimizer {
[INFO] [stdout]   |            --------------- fields in this struct
[INFO] [stdout] 7 |     low_memory_mode: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     system: System,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_memory_usage` is never used
[INFO] [stdout]   --> src/core/memory.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MemoryOptimizer {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn get_memory_usage(&mut self) -> (u64, u64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]   --> src/config/mod.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Config {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn save(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sensitivity` and `use_offline` are never read
[INFO] [stdout]   --> src/voice/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct VoiceConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 15 |     pub wake_word: String,
[INFO] [stdout] 16 |     pub sensitivity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |     pub use_offline: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VoiceConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `process_voice_input` and `synthesize_speech` are never used
[INFO] [stdout]   --> src/voice/mod.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl VoiceModule {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub async fn process_voice_input(&self, input: String) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub async fn synthesize_speech(&self, text: String) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AIRequest` is never constructed
[INFO] [stdout]   --> src/ai/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct AIRequest {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeout` is never read
[INFO] [stdout]   --> src/browser/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BrowserConfig {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 17 |     pub user_agent: String,
[INFO] [stdout] 18 |     pub timeout: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BrowserConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_tasks` is never read
[INFO] [stdout]   --> src/task/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct TaskConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 17 |     pub reminder_interval: u32,
[INFO] [stdout] 18 |     pub max_tasks: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `description`, `due_date`, `completed`, and `created_at` are never read
[INFO] [stdout]   --> src/task/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Task {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 32 |     pub id: i64,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 33 |     pub title: String,
[INFO] [stdout] 34 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 35 |     pub due_date: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 36 |     pub completed: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 37 |     pub created_at: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Task` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Resource` is never constructed
[INFO] [stdout]   --> src/task/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Resource {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_task`, `get_tasks`, `complete_task`, `add_resource`, and `search_resources` are never used
[INFO] [stdout]    --> src/task/mod.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl TaskModule {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn add_task(&self, title: String, description: String, due_date: Option<String>) -> Result<Task, Box<dyn std::error::...
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub async fn get_tasks(&self) -> Result<Vec<Task>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn complete_task(&self, task_id: i64) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub async fn add_resource(&self, title: String, url: String, description: String, tags: String) -> Result<Resource, Box<dyn std...
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub async fn search_resources(&self, query: String) -> Result<Vec<Resource>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `system` is never read
[INFO] [stdout]   --> src/tool/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct ToolModule {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     system: System,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enabled_tools` is never read
[INFO] [stdout]   --> src/tool/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ToolConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 17 |     pub enabled_tools: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_logging` is never used
[INFO] [stdout]  --> src/utils/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn setup_logging() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retry` is never used
[INFO] [stdout]   --> src/utils/mod.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub async fn retry<F, T, E>(mut f: F, max_attempts: u32, delay: Duration) -> Result<T, E>
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_input` is never used
[INFO] [stdout]   --> src/utils/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn sanitize_input(input: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_duration` is never used
[INFO] [stdout]   --> src/utils/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn format_duration(duration: Duration) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comm_manager` is never read
[INFO] [stdout]   --> src/memory/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct MemoryModule {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 13 |     db_pool: SqlitePool,
[INFO] [stdout] 14 |     comm_manager: Arc<CommManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MemoryModule` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserPreference` is never constructed
[INFO] [stdout]   --> src/memory/mod.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct UserPreference {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/memory/mod.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl MemoryModule {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub async fn get_memory(&self, category: String, key: String) -> Result<Option<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub async fn set_preference(&self, key: String, value: String) -> Result<UserPreference, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub async fn get_preference(&self, key: String) -> Result<Option<UserPreference>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn add_interaction(&self, user_input: String, assistant_response: String) -> Result<InteractionHistory, Box<dyn std::...
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub async fn search_memory(&self, query: String) -> Result<Vec<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn add_skill(&self, name: &str, description: &str, content: &str) -> Result<persistent_memory::Skill, Box<dyn std::error::E...
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn get_skill(&self, name: &str) -> Result<Option<persistent_memory::Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn update_skill_effectiveness(&self, skill_id: i64, effectiveness: f32) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn get_all_skills(&self) -> Result<Vec<persistent_memory::Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn add_persistent_memory(&self, category: &str, key: &str, value: &str, importance: i32) -> Result<persistent_memory::Memor...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Skill` is never constructed
[INFO] [stdout]   --> src/memory/persistent_memory.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Skill {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserProfile` is never constructed
[INFO] [stdout]   --> src/memory/persistent_memory.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct UserProfile {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `skills_dir`, `profile_dir`, and `comm_manager` are never read
[INFO] [stdout]   --> src/memory/persistent_memory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct PersistentMemory {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 40 |     skills_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 41 |     memory_dir: String,
[INFO] [stdout] 42 |     profile_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     comm_manager: Arc<CommManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PersistentMemory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/memory/persistent_memory.rs:91:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl PersistentMemory {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn get_memory(&self, category: &str, key: &str) -> Result<Option<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn search_memory(&self, query: &str) -> Result<Vec<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn add_skill(&self, name: &str, description: &str, content: &str) -> Result<Skill, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn get_skill(&self, name: &str) -> Result<Option<Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn update_skill_effectiveness(&self, skill_id: i64, effectiveness: f32) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn get_all_skills(&self) -> Result<Vec<Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn set_user_profile(&self, key: &str, value: &str) -> Result<UserProfile, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn get_user_profile(&self, key: &str) -> Result<Option<UserProfile>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dream_interval_seconds` and `max_dream_duration_seconds` are never read
[INFO] [stdout]   --> src/dream/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct DreamConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 20 |     pub idle_threshold_seconds: u64,
[INFO] [stdout] 21 |     pub dream_interval_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub max_dream_duration_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DreamConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_activity` is never used
[INFO] [stdout]   --> src/dream/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl DreamModule {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn update_activity(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `comm_manager` are never read
[INFO] [stdout]   --> src/permission/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct PermissionModule {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout]  9 |     config: PermissionConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     comm_manager: Arc<CommManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PermissionLevel` is never used
[INFO] [stdout]   --> src/permission/mod.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum PermissionLevel {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResourceType` is never used
[INFO] [stdout]   --> src/permission/mod.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum ResourceType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/permission/mod.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl PermissionModule {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn check_permission(&self, resource: &ResourceType, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn check_file_permission(&self, path: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn check_directory_permission(&self, path: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn check_tool_permission(&self, tool_name: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn check_system_command_permission(&self, command: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn is_assistant_file(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn is_assistant_directory(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn is_protected_path(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub async fn request_user_permission(&self, action: String, resource: String) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HarnessModule` is never constructed
[INFO] [stdout]  --> src/harness/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HarnessModule {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HarnessConfig` is never constructed
[INFO] [stdout]   --> src/harness/mod.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct HarnessConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Workflow` is never constructed
[INFO] [stdout]   --> src/harness/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Workflow {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkflowStep` is never constructed
[INFO] [stdout]   --> src/harness/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct WorkflowStep {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WorkflowAction` is never used
[INFO] [stdout]   --> src/harness/mod.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum WorkflowAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WorkflowTrigger` is never used
[INFO] [stdout]   --> src/harness/mod.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum WorkflowTrigger {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/harness/mod.rs:93:18
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl HarnessModule {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  93 |     pub async fn new(config: &Config, comm_manager: &CommManager) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn start(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub async fn stop(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn create_workflow(&mut self, workflow: Workflow) -> Result<Workflow, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub async fn execute_workflow(&self, workflow_id: String) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn list_workflows(&self) -> Vec<Workflow> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     async fn execute_workflow_steps(&self, workflow: &Workflow) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn load_workflows(workflow_dir: &str) -> Vec<Workflow> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn save_workflow(&self, workflow: &Workflow) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     async fn check_time_triggers(workflows: &mut Vec<Workflow>, comm_manager: &CommManager) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Skill` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Skill {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillExecution` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct SkillExecution {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillModule` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SkillModule {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillConfig` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct SkillConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/skill/mod.rs:59:18
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl SkillModule {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  59 |     pub async fn new(config: &Config, comm_manager: &CommManager, memory: &MemoryModule) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub async fn start(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn stop(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     async fn load_skills(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub async fn create_skill(&mut self, name: &str, description: &str, content: &str, tags: Vec<String>) -> Result<Skill, Box<dyn ...
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub async fn execute_skill(&mut self, skill_id: &str, input: &str) -> Result<String, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub async fn get_skill(&self, skill_id: &str) -> Option<Skill> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub async fn get_all_skills(&self) -> Vec<Skill> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub async fn search_skills(&self, query: &str) -> Vec<Skill> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub async fn improve_skill(&mut self, skill_id: &str, feedback: &str) -> Result<Skill, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub async fn auto_create_skill(&mut self, task: &str, solution: &str) -> Result<Skill, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn get_current_timestamp() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/tool/mod.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 | async fn execute_tool(config: &ToolConfig, system: &mut System, command: String) -> Result<String, Box<dyn std::error::Error + Send ...
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]    --> src/memory/persistent_memory.rs:111:29
[INFO] [stdout]     |
[INFO] [stdout] 111 |                         let category = entry.file_name().to_string_lossy().to_string();
[INFO] [stdout]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requested_level`
[INFO] [stdout]    --> src/permission/mod.rs:153:54
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn check_tool_permission(&self, tool_name: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requested_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requested_level`
[INFO] [stdout]    --> src/permission/mod.rs:164:62
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn check_system_command_permission(&self, command: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requested_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/harness/mod.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let config = self.config.clone();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comm_manager`
[INFO] [stdout]    --> src/harness/mod.rs:253:65
[INFO] [stdout]     |
[INFO] [stdout] 253 |     async fn check_time_triggers(workflows: &mut Vec<Workflow>, comm_manager: &CommManager) {
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comm_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cron_expression`
[INFO] [stdout]    --> src/harness/mod.rs:258:53
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 if let WorkflowTrigger::TimeBased { cron_expression } = trigger {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^ help: try ignoring the field: `cron_expression: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> src/harness/mod.rs:189:49
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 WorkflowAction::BrowserAction { action, url } => {
[INFO] [stdout]     |                                                 ^^^^^^ help: try ignoring the field: `action: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> src/harness/mod.rs:196:46
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 WorkflowAction::TaskAction { action, task_id } => {
[INFO] [stdout]     |                                              ^^^^^^ help: try ignoring the field: `action: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task_id`
[INFO] [stdout]    --> src/harness/mod.rs:196:54
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 WorkflowAction::TaskAction { action, task_id } => {
[INFO] [stdout]     |                                                      ^^^^^^^ help: try ignoring the field: `task_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> src/harness/mod.rs:200:48
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 WorkflowAction::MemoryAction { action, category, key } => {
[INFO] [stdout]     |                                                ^^^^^^ help: try ignoring the field: `action: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `category`
[INFO] [stdout]    --> src/harness/mod.rs:200:56
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 WorkflowAction::MemoryAction { action, category, key } => {
[INFO] [stdout]     |                                                        ^^^^^^^^ help: try ignoring the field: `category: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/harness/mod.rs:200:66
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 WorkflowAction::MemoryAction { action, category, key } => {
[INFO] [stdout]     |                                                                  ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> src/harness/mod.rs:204:47
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 WorkflowAction::Conditional { condition, true_steps, false_steps } => {
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `true_steps`
[INFO] [stdout]    --> src/harness/mod.rs:204:58
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 WorkflowAction::Conditional { condition, true_steps, false_steps } => {
[INFO] [stdout]     |                                                          ^^^^^^^^^^ help: try ignoring the field: `true_steps: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_steps`
[INFO] [stdout]    --> src/harness/mod.rs:204:70
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 WorkflowAction::Conditional { condition, true_steps, false_steps } => {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^ help: try ignoring the field: `false_steps: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/skill/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn from(config: &Config) -> Self {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `comm_manager`, and `shutdown_tx` are never read
[INFO] [stdout]   --> src/core/service.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct CoreService {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 17 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     comm_manager: CommManager,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     shutdown_rx: mpsc::Receiver<()>,
[INFO] [stdout] 29 |     shutdown_tx: mpsc::Sender<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_command` is never used
[INFO] [stdout]    --> src/core/service.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl CoreService {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub async fn send_command(&self, command: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `low_memory_mode` and `system` are never read
[INFO] [stdout]  --> src/core/memory.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MemoryOptimizer {
[INFO] [stdout]   |            --------------- fields in this struct
[INFO] [stdout] 7 |     low_memory_mode: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     system: System,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_memory_usage` is never used
[INFO] [stdout]   --> src/core/memory.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MemoryOptimizer {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn get_memory_usage(&mut self) -> (u64, u64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]   --> src/config/mod.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Config {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn save(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sensitivity` and `use_offline` are never read
[INFO] [stdout]   --> src/voice/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct VoiceConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 15 |     pub wake_word: String,
[INFO] [stdout] 16 |     pub sensitivity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |     pub use_offline: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VoiceConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `process_voice_input` and `synthesize_speech` are never used
[INFO] [stdout]   --> src/voice/mod.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl VoiceModule {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub async fn process_voice_input(&self, input: String) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub async fn synthesize_speech(&self, text: String) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AIRequest` is never constructed
[INFO] [stdout]   --> src/ai/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct AIRequest {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeout` is never read
[INFO] [stdout]   --> src/browser/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BrowserConfig {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 17 |     pub user_agent: String,
[INFO] [stdout] 18 |     pub timeout: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BrowserConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_tasks` is never read
[INFO] [stdout]   --> src/task/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct TaskConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 17 |     pub reminder_interval: u32,
[INFO] [stdout] 18 |     pub max_tasks: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaskConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `description`, `due_date`, `completed`, and `created_at` are never read
[INFO] [stdout]   --> src/task/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Task {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 32 |     pub id: i64,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 33 |     pub title: String,
[INFO] [stdout] 34 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 35 |     pub due_date: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 36 |     pub completed: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 37 |     pub created_at: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Task` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Resource` is never constructed
[INFO] [stdout]   --> src/task/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Resource {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_task`, `get_tasks`, `complete_task`, `add_resource`, and `search_resources` are never used
[INFO] [stdout]    --> src/task/mod.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl TaskModule {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn add_task(&self, title: String, description: String, due_date: Option<String>) -> Result<Task, Box<dyn std::error::...
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub async fn get_tasks(&self) -> Result<Vec<Task>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn complete_task(&self, task_id: i64) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub async fn add_resource(&self, title: String, url: String, description: String, tags: String) -> Result<Resource, Box<dyn std...
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub async fn search_resources(&self, query: String) -> Result<Vec<Resource>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `system` is never read
[INFO] [stdout]   --> src/tool/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct ToolModule {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     system: System,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enabled_tools` is never read
[INFO] [stdout]   --> src/tool/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ToolConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 17 |     pub enabled_tools: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_logging` is never used
[INFO] [stdout]  --> src/utils/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn setup_logging() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retry` is never used
[INFO] [stdout]   --> src/utils/mod.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub async fn retry<F, T, E>(mut f: F, max_attempts: u32, delay: Duration) -> Result<T, E>
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_input` is never used
[INFO] [stdout]   --> src/utils/mod.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn sanitize_input(input: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_duration` is never used
[INFO] [stdout]   --> src/utils/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn format_duration(duration: Duration) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comm_manager` is never read
[INFO] [stdout]   --> src/memory/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct MemoryModule {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 13 |     db_pool: SqlitePool,
[INFO] [stdout] 14 |     comm_manager: Arc<CommManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MemoryModule` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserPreference` is never constructed
[INFO] [stdout]   --> src/memory/mod.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct UserPreference {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/memory/mod.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl MemoryModule {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub async fn get_memory(&self, category: String, key: String) -> Result<Option<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub async fn set_preference(&self, key: String, value: String) -> Result<UserPreference, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub async fn get_preference(&self, key: String) -> Result<Option<UserPreference>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn add_interaction(&self, user_input: String, assistant_response: String) -> Result<InteractionHistory, Box<dyn std::...
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub async fn search_memory(&self, query: String) -> Result<Vec<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn add_skill(&self, name: &str, description: &str, content: &str) -> Result<persistent_memory::Skill, Box<dyn std::error::E...
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn get_skill(&self, name: &str) -> Result<Option<persistent_memory::Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn update_skill_effectiveness(&self, skill_id: i64, effectiveness: f32) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn get_all_skills(&self) -> Result<Vec<persistent_memory::Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn add_persistent_memory(&self, category: &str, key: &str, value: &str, importance: i32) -> Result<persistent_memory::Memor...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Skill` is never constructed
[INFO] [stdout]   --> src/memory/persistent_memory.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Skill {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserProfile` is never constructed
[INFO] [stdout]   --> src/memory/persistent_memory.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct UserProfile {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `skills_dir`, `profile_dir`, and `comm_manager` are never read
[INFO] [stdout]   --> src/memory/persistent_memory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct PersistentMemory {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 40 |     skills_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 41 |     memory_dir: String,
[INFO] [stdout] 42 |     profile_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     comm_manager: Arc<CommManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PersistentMemory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/memory/persistent_memory.rs:91:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl PersistentMemory {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn get_memory(&self, category: &str, key: &str) -> Result<Option<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn search_memory(&self, query: &str) -> Result<Vec<MemoryItem>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn add_skill(&self, name: &str, description: &str, content: &str) -> Result<Skill, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn get_skill(&self, name: &str) -> Result<Option<Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn update_skill_effectiveness(&self, skill_id: i64, effectiveness: f32) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn get_all_skills(&self) -> Result<Vec<Skill>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn set_user_profile(&self, key: &str, value: &str) -> Result<UserProfile, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn get_user_profile(&self, key: &str) -> Result<Option<UserProfile>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dream_interval_seconds` and `max_dream_duration_seconds` are never read
[INFO] [stdout]   --> src/dream/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct DreamConfig {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 20 |     pub idle_threshold_seconds: u64,
[INFO] [stdout] 21 |     pub dream_interval_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub max_dream_duration_seconds: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DreamConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_activity` is never used
[INFO] [stdout]   --> src/dream/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl DreamModule {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn update_activity(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `comm_manager` are never read
[INFO] [stdout]   --> src/permission/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct PermissionModule {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout]  9 |     config: PermissionConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     comm_manager: Arc<CommManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PermissionLevel` is never used
[INFO] [stdout]   --> src/permission/mod.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum PermissionLevel {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResourceType` is never used
[INFO] [stdout]   --> src/permission/mod.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum ResourceType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/permission/mod.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl PermissionModule {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn check_permission(&self, resource: &ResourceType, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     fn check_file_permission(&self, path: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn check_directory_permission(&self, path: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn check_tool_permission(&self, tool_name: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn check_system_command_permission(&self, command: &str, requested_level: PermissionLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn is_assistant_file(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn is_assistant_directory(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn is_protected_path(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub async fn request_user_permission(&self, action: String, resource: String) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HarnessModule` is never constructed
[INFO] [stdout]  --> src/harness/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HarnessModule {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HarnessConfig` is never constructed
[INFO] [stdout]   --> src/harness/mod.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct HarnessConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Workflow` is never constructed
[INFO] [stdout]   --> src/harness/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Workflow {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkflowStep` is never constructed
[INFO] [stdout]   --> src/harness/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct WorkflowStep {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WorkflowAction` is never used
[INFO] [stdout]   --> src/harness/mod.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum WorkflowAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WorkflowTrigger` is never used
[INFO] [stdout]   --> src/harness/mod.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub enum WorkflowTrigger {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/harness/mod.rs:93:18
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl HarnessModule {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  93 |     pub async fn new(config: &Config, comm_manager: &CommManager) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn start(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub async fn stop(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn create_workflow(&mut self, workflow: Workflow) -> Result<Workflow, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub async fn execute_workflow(&self, workflow_id: String) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn list_workflows(&self) -> Vec<Workflow> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     async fn execute_workflow_steps(&self, workflow: &Workflow) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn load_workflows(workflow_dir: &str) -> Vec<Workflow> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn save_workflow(&self, workflow: &Workflow) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     async fn check_time_triggers(workflows: &mut Vec<Workflow>, comm_manager: &CommManager) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Skill` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Skill {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillExecution` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct SkillExecution {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillModule` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct SkillModule {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillConfig` is never constructed
[INFO] [stdout]   --> src/skill/mod.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct SkillConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/skill/mod.rs:59:18
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl SkillModule {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  59 |     pub async fn new(config: &Config, comm_manager: &CommManager, memory: &MemoryModule) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub async fn start(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn stop(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     async fn load_skills(&mut self) {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub async fn create_skill(&mut self, name: &str, description: &str, content: &str, tags: Vec<String>) -> Result<Skill, Box<dyn ...
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub async fn execute_skill(&mut self, skill_id: &str, input: &str) -> Result<String, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub async fn get_skill(&self, skill_id: &str) -> Option<Skill> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub async fn get_all_skills(&self) -> Vec<Skill> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub async fn search_skills(&self, query: &str) -> Vec<Skill> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub async fn improve_skill(&mut self, skill_id: &str, feedback: &str) -> Result<Skill, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub async fn auto_create_skill(&mut self, task: &str, solution: &str) -> Result<Skill, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn get_current_timestamp() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.45s
[INFO] running `Command { std: "docker" "inspect" "457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0", kill_on_drop: false }`
[INFO] [stdout] 457e6bfe9dab9fbd6e674b9b2c19c684edca9965bd3e0a7237bdd9d53afbefb0
